Systems and methods of object identification and database creation

ABSTRACT

Exemplary embodiments are generally directed to systems and methods of object identification. Exemplary embodiments can scan, by an optical reader, a machine-readable identifier associated with an original object. Exemplary embodiments can capture an image of the original object at a first orientation using an image capture device. Exemplary embodiments can transmit the machine-readable identifier and the image of the original object to an image database to store an association between the image of the original object and the machine-readable identifier. Exemplary embodiments can receive a subsequent object having a subsequent machine-readable identifier that is unavailable or incapable of being scanned. Exemplary embodiments can capture an image of the subsequent object with the image capture device. Exemplary embodiments can execute an image recognition function that outputs object identification information for the image of the subsequent object based on the machine-readable identifier associated with the image of the original object.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of co-pending, commonly assignedU.S. Provisional Patent Application No. 62/233,738, which was filed onSep. 28, 2015. The entire content of the foregoing provisional patentapplication is incorporated herein by reference.

BACKGROUND

In many applications, a machine-readable identifier, such as a barcode,QR codes, or radio-frequency identification, are often associated withphysical objects. These machine-readable identifiers can be read andprocessed in computing systems to cause one or more operations to beperformed. For example, in some environments, the machine-readableidentifier can be read and processed in a computing system to retrieveinformation associated with a physical object corresponding to themachine-readable identifier that was read (e.g., an identity of thephysical object that is in a data format that can be recognized by thecomputing system). Use of machine-readable identifiers can be aneffective mechanism for facilitating recognition of the physical objectwith which they are associated. However, if the machine-readableidentifier for a given physical object is unavailable or cannot be read,it may be necessary to find another one of the given physical objectsthat is accompanied by a readable machine-readable identifier or tolook-up information about the physical object by enteringcharacteristics/parameters of the physical object into the computersystem until the appropriate information about the physical object isfound. Such procedures require high overhead costs for manuallygenerating the database in which searches are to be performed and may besusceptible to fraudulent activities.

SUMMARY

Exemplary embodiments of the present disclosure overcome thedisadvantages of conventional systems and methods by providing fordatabase creation and object identification to efficiently andeffectively generate databases of images of physical objects when theirassociated machine-readable identifiers are read and subsequentlyutilizing the database for image recognition when the machine-identifierof the physical objects are unavailable or unreadable and/or whenreading a machine-readable identifier to ensure that themachine-readable object corresponds to the machine-readable identifierthat is read for the object. In particular, the exemplary systems andmethods provide for a redundant system such that when a first systemfails (e.g., the machine-readable identifier is unavailable orunreadable), the redundant system can be used to identify the object inan efficient manner. The redundancy of the system improves the abilityof object identification at a point-of-sale system during a checkoutprocess.

In one example application, exemplary embodiments of the systems andmethods described herein can provide for a computerized improvement tothe functioning of a point-of-sale system by being able to automatically(or substantially automatically) compile and generate a database ofimages during the checkout process. In particular, exemplary embodimentscan generate an image database including images of objects during thecheckout process, and further use the image database for imagerecognition of objects during a subsequent checkout process whenmachine-readable identifiers associated with an object are unavailableor incapable of being scanned.

The systems and methods are specifically advantageous for environmentsincluding point-of-sale systems that receive and process high volumes ofobjects, which can result in long checkout times and queues if themachine-readable identifier of an object cannot be scanned or isunavailable. The systems and methods are also advantageous forenvironments that sell high volumes of objects, which can require highoverhead costs for building and generating image databases outside ofthe checkout process.

In accordance with embodiments of the present disclosure, acomputer-implemented method of identifying objects using imagerecognition is provided. The method includes scanning, by an opticalreader, a machine-readable identifier associated with an originalobject. The method includes capturing an image of the original object ata first orientation using an image capture device. The method includesprogrammatically transmitting the machine-readable identifier and theimage of the original object to an image database to programmaticallystore an association between the image of the original object and themachine-readable identifier.

The method includes receiving a subsequent object having a subsequentmachine-readable identifier that is unavailable or incapable of beingscanned. The method includes capturing an image of the subsequent objectwith the image capture device. The method includes executing an imagerecognition function that receives as input the image of the subsequentobject. The image recognition function can compare the image of thesubsequent object to other images in the image database to identifysimilar images. The similar images can include at least the image of theoriginal object. The image recognition function can output objectidentification information for the image of the subsequent object basedon the machine-readable identifier associated with the image of theoriginal object.

In some embodiments, the optical reader can be a barcode scanner, aradio-frequency identification scanner, or both. The machine-readableidentifier of the original object can be a barcode, a radio-frequencyidentification, or both. The image capture device can include one ormore cameras.

The method can include programmatically transmitting the image of theoriginal object to a server, and programmatically transmitting the imageof the original object from the server to the image database. In someembodiments, scanning the machine-readable identifier associated withthe original object with the optical reader can actuate the imagecapture device to automatically capture the image of the originalobject. The method can include programmatically associating the objectidentification information of the original object obtained from scanningthe machine-readable identifier associated with the original with theimage of the original object in the image database. The objectidentification information can include at least one of an object name,an object description, or an object cost.

The method can include displaying the object identification informationat a graphical user interface (GUI). The method can include capturing asecond image of the original object at a second orientation using theimage capture device. The method can include programmaticallytransmitting the second image of the original object to the imagedatabase to programmatically store an association between the image ofthe original object, the second image of the original object and themachine-readable identifier.

In accordance with embodiments of the present disclosure, a system forsynchronized imaging of objects and machine-readable identifiersassociated with the objects is provided. The system includes an opticalreader. The optical reader can be configured to read a machine-readableidentifier associated with an object. The system includes at least oneimage capture device. The image capture device can be configured tocapture an image of the object. The system includes a processing deviceoperatively coupled to the optical reader and the image capture device.The processing device controls the optical reader and the image capturedevice to synchronize reading of the machine-readable identifier by theoptical reader and capturing of the image of the object by the imagecapture device to automatically capture the image of the object.

The system includes an image database configured to store one or moreimages of the object. The image database can be configured toprogrammatically store an association between the image of the objectand the machine-readable identifier associated with the objects. Theimage capture device can be configured to capture an image of asubsequent object. The subsequent object can include a subsequentmachine-readable identifier that is unavailable or incapable of beingscanned. The processing device can be configured to programmaticallyexecute an image recognition function that receives as input the imageof the subsequent object. The image recognition function can compare theimage of the subsequent object to other images in the image database toidentify similar images. The similar images can include at least theimage of the object. The image recognition function can output objectidentification information for the image of the subsequent object basedon the machine-readable identifier associated with the image of theobject. The system can include a GUI configured to display the objectidentification information for the image of the subsequent object.

In accordance with embodiments of the present disclosure, a system forsynchronized imaging of objects and machine-readable identifiersassociated with the objects is provided. The system includes an opticalreader. The optical reader can be configured to read a machine-readableidentifier associated with an original object. The system includes animage capture device. The image capture device can be configured tocapture an image of the original object, and capture an image of asubsequent object. The subsequent object can include a subsequentmachine-readable identifier that is unavailable or incapable of beingread. The system includes an image database configured toprogrammatically store an association between the image of the originalobject and the machine-readable identifier associated with the originalobject.

The system includes a processing device operatively coupled to theoptical reader, the image capture device and the image database. Theprocessing device can be configured to programmatically execute an imagerecognition function that receives as input the image of the subsequentobject. The image recognition function can compare the image of thesubsequent object to other images in the image database to identifysimilar images. The similar images can include at least the image of theoriginal object. The image recognition function can output objectidentification information for the subsequent image based on themachine-readable identifier associated with the image of the originalobject.

In some embodiments, the optical reader can include a handheld orportable optical reader. In some embodiments, the image capture devicecan be incorporated into the handheld or portable optical reader.

Any combination and/or permutation of embodiments is envisioned. Otherobjects and features will become apparent from the following detaileddescription considered in conjunction with the accompanying drawings. Itis to be understood, however, that the drawings are designed as anillustration only and not as a definition of the limits of the presentdisclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

To assist those of skill in the art in making and using the disclosedsystems and associated methods, reference is made to the accompanyingfigures, wherein:

FIG. 1 is a block diagram of an exemplary system for readingmachine-readable identifiers associated with objects, capturing imagesof the objects, and/or identifying objects based on previously capturedimages in accordance with exemplary embodiments of the presentdisclosure.

FIG. 2 is a block diagram of another exemplary system for readingmachine-readable identifiers associated with objects, capturing imagesof the objects, and/or identifying objects based on previously capturedimages in accordance with embodiments of the present disclosure.

FIG. 3 is a block diagram of yet another exemplary system for readingmachine-readable identifiers associated with objects, capturing imagesof the objects, and/or identifying objects based on previously capturedimages in accordance with embodiments of the present disclosure.

FIG. 4 is a block diagram of an image database of an objectidentification system in accordance with embodiments of the presentdisclosure.

FIG. 5 is a block diagram of an image recognition engine of an objectidentification system in accordance with embodiments of the presentdisclosure.

FIG. 6 is a block diagram of a computing device configured to implementembodiments of an object identification system in accordance withembodiments of the present disclosure.

FIG. 7 is a block diagram of a distributed environment for implementingembodiments of an object identification system in accordance withembodiments of the present disclosure.

FIG. 8 is a flowchart illustrating implementation of an objectidentification system in accordance with embodiments of the presentdisclosure.

FIG. 9 is a flowchart illustrating an implementation of an objectidentification system in accordance with embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Exemplary embodiments of the present disclosure overcome thedisadvantages of conventional methods by providing for a system ofobject identification to efficiently and effectively generate databasesof images of objects to be used for image recognition whenmachine-readable identifiers associated with the objects are read.Subsequently, when a machine-readable identifier for a given object isunreadable or unavailable, exemplary embodiments of the presentdisclosure can capture an image of the object and search the database ofimages to identify the object to allow the computing system to performone or more operations based on the identification of the object.

As one non-limiting application of exemplary embodiments of the presentdisclosure, the systems and methods described herein can provide for acomputerized improvement to the functioning of a point-of-sale system bybeing able to automatically (or substantially automatically) compile andgenerate a database of images during a checkout process. In particular,exemplary embodiments can generate a database including images ofobjects that are captured as machine-readable identifiers associatedwith the objects are read by the point-of-sale system during thecheckout process, and can further use the database of images for imagerecognition of objects during a subsequent checkout process whenmachine-readable identifiers associated with objects are unavailable orincapable of being read. Image matching can therefore be used to locateinformation about the object including an identity of the object andother attributes/parameters associated with the object directly at apoint-of-sale terminal, resulting in an efficient checkout process.

As one non-limiting application of exemplary embodiments of the presentdisclosure, the systems and methods described herein can provide for acomputerized improvement to the functioning of a point-of-sale system byreducing the likelihood of fraud using the redundant system describedherein. For example, when a machine-readable identifier associated anobject is read by an optical scanner, an image capture of the object canbe triggered. The image can be compared to images stored in the databaseand the system can return an identity of the object. The identity of theobject as determined using image recognition can be compared to theidentity of the object as determined based on the reading of themachine-readable identifier. If the identities returned are different,it can be determined by the system that there is potential that themachine-readable identifier associated with the object has been alteredor replaced by another machine-readable identifier associated with adifferent object.

FIG. 1 is a block diagram of a point-of-sale system 100 (hereinafter“POS system 100”) in accordance with embodiments of the presentdisclosure. The POS system 100 can be used by a cashier or attendant ata retail location for a checkout process when customers purchaseobjects. The POS system 100 can include a POS controller 105, one ormore belts 102, respective belt cabinets 104, a card reader or scanner106, and an optical reader 108. The POS system 100 can also include ascale 110, a bagging station 112, a cash box 114, a keyboard 116, a cashdrawer 118, and a display 120. The POS system 100 can further include aportable optical reader 122 (e.g., a scan gun, or the like), a receiptprinter 124, a network and electricity pole 126, one or more imagecapture devices 128 a-h, and a customer display 130. In someembodiments, the POS system 100 can be configured as a self-checkout POSsystem that allows customers to checkout with no or minimum interactionof an employee of the retail location.

The belts 102 can be conveyer or endless belts disposed in the beltcabinets 104. The belt cabinets 104 can include rollers (e.g., frictionand drive rollers, or the like) and a drive motor for actuating andmoving the belts 102. The driver motor can control one or more of therollers to rotate the belt 102 to provide a transport system for movingobjects to be purchased from one end of the belt cabinet 104 to anopposite end of the belt cabinet 104. For example, one belt 102 can bedriven to move an object placed on the belt 102 towards the opticalreader 108, and another belt 102 can be driven to move the object awayfrom the optical reader 108.

In some embodiments, the belt cabinets 104 can define a substantiallyrectangular structure including side and bottom walls. A belt 102 canextend along a top portion of each of the respective belt cabinets 104.In some embodiments, additional POS system 100 components can bedisposed on or in one or more of the belt cabinets 104. For example, insome embodiments, at least one of the belt cabinets 104 can support thecard reader 106, the optical reader 108, the scale 110, and/or thecustomer display 130, as well as any other suitable POS system 100components.

The card reader 106 can be a magnetic card reader configured to readencoded information from magnetic strips of payment cards (e.g., creditcards, debit cards, gift cards, or the like). The magnetic reader candecode the encoded information associated with payment cards and cantransmit the decoded information to the POS controller 105, or can inthe alternative, transmit the encoded information to the POS controller105, which can decode the encoded information. A customer or cashier canuse the card reader 106 to input tender information into the POS system100 to complete a purchase of one or more objects by the customer.

In some embodiments, the card reader 106 can include one or moremicrocontrollers and can execute reader firmware to implement one ormore functions carried out by the card reader 106. While an exampleembodiment has been illustrated as including a magnetic card reader 106,those skilled in the art will recognize that other types of readers canbe utilized instead of, or in addition to, the magnetic card reader 106.For example, in some embodiments, the card reader 106 can include nearfield communication (NFC) reader capability, Radio FrequencyIdentification (RFID) reader capability, or both, to wirelessly interactwith a customer's payment type.

The optical reader 108 can be configured to scan and readmachine-readable identifiers, such as a barcode, RFID tags, QR codes, orthe like, associated with objects. In particular, the optical reader 108can be configured to scan encoded information from machine-readableidentifiers, and can be further configured to decode the encodedinformation to transmit object identification information associatedwith an object (e.g., a SKU number) to the POS controller 105. In someembodiments, the POS controller 105 can decode the encoded information.A customer or cashier can therefore use the optical reader 108 toprovide the POS controller 105 with identifying information of theobject with which the machine-readable identifier is associated. Forexample, the optical reader 108 can be configured to scan barcodes orquick response (QR) codes associated with objects to be purchased by acustomer and information embedded in the barcodes or QR codes can beutilized by the POS controller 105 to retrieve information about theobjects associated with the barcodes or QR codes, such as prices of theobjects. In some embodiments, the optical reader 108 can include one ormore microcontrollers disposed therein and can execute reader firmwareto implement one or more functions carried out by the optical reader108.

The scale 110 can be an electronic weighing machine configured todetermine a weight of an object placed on the scale 110. In someembodiments, the scale 110 can be an analog or digital scale thatcalculates the weight of an object using one or more strain gauges orother suitable devices that can convert a force applied to the scale 110by an object (e.g., from gravity) to an electrical signal. For example,the scale 110 can be used at the POS system 100 to weigh an object to bepurchased, where the price of the object depends on the weight of theobject. In some embodiments, a customer or cashier can use the scale 110to input a weight of an object into the POS system 100 to determine aprice of the object. In some embodiments, a weight of an object can beautomatically input into the POS system 100 by the scale 110 when theweight of the object is stabilized and measured. In some embodiments,the scale 110 can include one or more microcontrollers and can executeweighing firmware to implement one or more functions carried out by thescale 110.

The bagging station 112 can be disposed at the end of the POS system100. The bagging station 112 can include a structure for supporting andstoring bags. The bagging station 112 can further include an area thatallows customers or employees to add scanned/purchased objects into thebags.

The cash box 114 can be a structure that generally includes side walls,a back wall, a top wall, and an open front face. An interior area of thecash box 114 can include a cavity having one or more shelves forsupporting components of the POS controller 105 and/or alternative itemsor components used at the POS system 100. In some embodiments, the cashbox 114 can support one or more peripheral components, such as, forexample, the keyboard 116, the cash drawer 118, the display 120, theportable optical reader 122, the receipt printer 124, or the like.

The keyboard 116 can be operatively coupled to the POS system 100 andcan be a multi-touch input system for customers, cashiers, or both, toenter information into the display 120. In some embodiments, thekeyboard 116 can be incorporated into the display 120 such that a touchscreen of the display 120 can be used to electronically input data intothe POS controller 105. The keyboard 116 provides functionality of I/Oservices receiving input from user input. In some embodiments, thekeyboard 116 can be supported on top of the cash box 114. In someembodiments, the keyboard 116 can include an integrated card reader thatallows a cashier to swipe a customer's payment card (e.g., credit card,debit card, gift card, or the like). In some embodiments, the keyboard116 can include one or more microcontrollers and can execute firmware toimplement one or more functions carried out by the keyboard 116.

The cash drawer 118 can be a storage system for holding monetary fundscustomers use to pay for their transactions. The cash drawer 118 caninclude an electromechanical lock, an electromagnetic lock, or both, toselectively lock and unlock the cash drawer 118 in response to, forexample, control signals received from the POS controller 105. Forexample, when a customer pays for a transaction with cash, the cashiercan input the tender type and amount into the keyboard 116 and aprocessor of the POS controller 105 can process the input to transmit acontrol signal to the lock of the cash drawer 118 to allow the cashdrawer 118 to open, thereby permitting the cashier to place the money inthe cash drawer 118 and retrieve any change owed to the customer. Insome embodiments, the cash drawer 118 can be disposed in an interiorarea or cavity of the cash box 114.

The display 120 and customer display 130 can be in the form of acomputer monitor operatively coupled to the POS controller 105, and candisplay data input/output and generated by the POS controller. Thedisplay 120 and customer display 130 can display information regardingobjects intended to be purchased along with information regardingcompleting the transaction and any other suitable information. In someembodiments, the display 120 and customer display 130 can be disposed ontop of the cash box 114. In some embodiments, the display 120 caninclude a touch screen interface such that at least some data can beinput into the display 120 through the display 120.

The portable optical reader 122 can be in the form of a handheld opticalscanning machine configured to scan and read machine-readableidentifiers associated with objects. The portable optical reader 122 canbe portable where users can hold the portable optical reader 122 andscan the machine-readable identifiers. The portable optical reader 122can be configured to scan encoded information from the machine-readableidentifiers. The portable optical reader 122 can decode the encodedinformation and transmit the decoded information to the POS system 100.In some embodiments, the POS system 100 can decode the encodedinformation.

The portable optical reader 122 can be used to input object informationinto the POS controller 105 for use when processing a transaction for acustomer. For example, the portable optical reader 122 can be configuredto scan barcodes, QR codes, RFID tags, or the like, associated withobjects to be purchased by a customer and/or can scan customerloyalty/rewards cards/tags. In some embodiments, the portable opticalreader 122 can include one or more microcontrollers and can executeportable optical reader firmware to implement one or more functionscarried out by the portable optical reader 122.

The receipt printer 124 can be a printer configured to print receiptsfor completed customer transactions. In some embodiments, the receiptprinter 124 can be supported by the cash box 114 and can be operativelycoupled to the POS controller 105. The POS system 100 can sendinformation and instructions to the receipt printer 124 to instruct thereceipt printer 124 to print receipts for transactions. In someembodiments, the receipt printer 124 can include one or moremicrocontrollers and can execute printer firmware to implement one ormore functions carried out by the receipt printer 124.

Power and network connectivity can be provided to the components of thePOS system 100 via the network and electricity pole 126. The network andelectricity pole 126 can extend generally vertically from the salesfloor and/or from the ceiling and can form a conduit through which powerand network cables can be routed to the POS system 100 to provideelectricity and network connectivity to one or more of the terminalcomponents. In some embodiments, the network and electricity pole 126can be positioned adjacent to the cash box 114 and the power and networkcables can be routed from the pole 126 to and through the cash box 114.

One or more of the components of the POS system 100 can be configured toreceive software updates via the network cable(s), can be configured totransmit data/information collected at the POS system 100 to one or moreremote servers in communication with the POS system 100 over acommunication network via the network cable, and/or can be configured toreceive data/information from the one or more remote servers incommunication with the POS system 100 over a communication network viathe network cable. For example, embedded information in amachine-readable identifier and/or image captured by image capturingdevices in the POS system 100 can processed by the POS controller 105and can be transmitted to the one or more remote servers (e.g., forad-hoc database creation, image recognition, retrieval of objectinformation associated with the machine-readable identifier and/orimage). In some embodiments, the network and electricity pole 126 canconnect multiple POS systems 100 relative to each other and relative toa central processor, database, or both, via a communication network,such that data (e.g., captured images of objects, object identificationinformation, or the like) can be shared between the POS systems 100.

The POS system 100 can include one or more image capture devices 128 a-hoperatively coupled to the POS controller 105. It should be understoodthat discussion of an image capture device 128 applies to any and/or allof the potential image capture devices 128 a-h incorporated into the POSsystem 100. In some embodiments, the image capture devices 128 a-h cancapture still images, video, or both. In some embodiments, the imagecapture devices 128 a-h can be in the form of a camera configured tocapture images of objects.

As an example, the image capture device 128 a can be positioned at ornear the cash box 114 (see FIG. 1). As a further example, the imagecapture device 128 a can be mounted to the network and electricity pole126 at a level above the cash box 114 (see FIG. 1). As a furtherexample, the image capture device 128 b can be positioned at or near theoptical reader 108 (see FIG. 1). As a further example, the image capturedevice 128 b can be positioned at an elevated level over the opticalreader 108 to obtain a top view of objects being scanned at the opticalreader 108 (see FIG. 1). As a further example, the image capture device128 c can be mounted to a rod or pole at a level above and overlookingthe optical reader 108 (see FIG. 2). As a further example, the imagecapture devices 128 d-f can be positioned on or be incorporated into avertical component 204 and/or a horizontal component 206 of the opticalreader 108 (see FIG. 2). As a further example, the image capture device128 g can be positioned or mounted on a portion of the ceiling 216 abovethe POS system 100 (see FIG. 3). As a further example, the image capturedevice 128 h can be positioned or incorporated into the portable opticalreader 122 (see FIG. 1).

In an exemplary operation of the POS system 100, a customer, cashier, orboth, can process and complete a transaction for objects intended forpurchase. Objects for purchase can be placed on one of the belts 102 andcan be transported towards the optical reader 108. The POS system 100can optically read the machine-readable identifier associated with theobject using the optical reader 108 or the portable optical reader 122.The POS system 100 can display the price of the object identified byoptically reading the machine-readable identifier on the customerdisplay 130. The POS system 100 can complete the transaction byaccepting customer payment using the card reader 106 and printing areceipt of the transaction for the customer using the receipt printer124. After the machine-readable identifier of an object is scanned, theobject can be placed on another one of the belts 102 to transport theobject to the bagging station 112.

The exemplary object identification system disclosed herein can beincorporated into one or more components of the POS system 100. Inparticular, the POS system 100 can be programmed such that scanning themachine-readable identifier of an object with the optical reader 108 orthe portable optical reader 122 actuates the image capture device 128 tocapture one or more images of the object. For example, the image capturedevice 128 can be oriented towards the optical reader 108 and thesurrounding area to capture an image of the object as the object isscanned or immediately after. In some embodiments, actuation of theimage capture device 128 to capture the image(s) of the object can beautomatic and substantially simultaneous to the scanning process. Insome embodiments, the POS system 100 can be programmed to synchronizethe time of scanning the machine-readable identifier of the object andcapturing an image of the object.

In some embodiments, scanning of the machine-readable identifier of anobject with the optical reader 108 can trigger the optical reader 108and/or the POS controller 105 to electronically send a control signal toone or more of the image capture devices 128 to instruct the imagecapture devices 128 to capture one or more images of the object scanned.In some embodiments, scanning of the machine-readable identifier of anobject with the optical reader 108 can trigger the optical reader 108 toelectronically send a signal to the POS controller 105 indicating thatthe optical reader 108 just read a machine-readable identifier of anobject and the POS controller 105 can electronically transmit a controlsignal to the one or more image capture devices 128 to instruct theimage capture devices 128 to capture one or more images of the objectscanned. Thus, the process of capturing the image(s) of the object doesnot slow down the checkout process and, instead, occurs substantiallysimultaneously to scanning the object. The captured images of the objectcan be at one or more different orientations such that multiple views ofthe object can be captured.

In some embodiments, as described herein, the portable optical reader122 can include the image capture device 128 h incorporated therein suchthat scanning the machine-readable identifier of the object with theportable optical reader 122 actuates the image capture device of theportable optical reader 122 (and/or the image capture device 128 h) tocapture one or more images of the object. For example, upon successfullyreading a machine-readable identifier, the portable optical reader 122can control the image capture device 128 h to capture an image of theobject. In some embodiments, the portable optical reader 122 can controlthe image capture device 128 h to capture an image and scan for amachine-readable identifier simultaneously (e.g., in response toactuation of a button or trigger on the portable optical reader 122). Insome embodiments, the image capture device 128 h of the portable opticalreader 122 can be used to capture an image of an object that is toolarge to fit onto the optical reader 108 or too large to be captured bythe image capture device 128 a-g. For example, the portable opticalreader 122 can initially be used to scan the machine-readable identifierof the object and time is allotted for the cashier to step away from theobject to capture an image of the entire object.

The POS system 100 can be programmed to electronically transmit themachine-readable identifier read by the optical reader 108 or theportable optical reader 122 and the image(s) of the object captured byone or more of the image capture devices 128 a-h through network cables(or wirelessly) to a database of images. In some embodiments, each POSsystem 100 can include therein an image database for storing the imagescaptured at the respective POS system 100. In some embodiments, theretail establishment can include a central image database that receivesthe images captured by the POS systems 100 to generate a single databasein which images of the objects sold by the retail establishment arestored.

An association between the image of the original object and themachine-readable identifier can be stored in the database. Inparticular, the images of an object can be grouped together based on themachine-readable identifier associated with the object, and objectidentification information (e.g., an object name, an object description,an object cost, an object location in the retail establishment, or thelike) related to the object can be associated with the images and/or themachine-readable identifier. Thus, during normal operation of thecheckout process and without additional input from the customer orcashier, a database of images can be generated that includes one or morecaptured images of objects and object identification informationassociated with the objects.

As a non-limiting example, a first customer takes part in a checkoutprocess at a POS system 100 in a retail establishment. The firstcustomer is purchasing a carton of eggs, a box of pens, and a package ofbatteries. As each of the machine-readable identifiers associated withthe objects is scanned at the optical reader 108 or 122, an image of therespective objects is captured by one or more of the image capturedevice 128 a-h and stored in the database of images. For example, as themachine-readable identifier of the carton of eggs is being scanned bythe optical reader 108, the image capture devices 128 a-h can beautomatically controlled to capture one or more images of the carton ofeggs at one or more different orientations from one or moreperspectives. The captured images of the eggs are stored in the databasewith an association to the corresponding machine-readable identifier,and any object identification information (e.g., cost, name, brand,weight, description, or the like) retrieved based on themachine-readable identifier can also be associated with the capturedimages of the eggs. A similar process occurs when the machine-readableidentifier for the box of pens and the package of batteries is scanned.As more instances of these objects are scanned (e.g., theirmachine-readable identifiers are read), more images of the objects canbe stored in the database, which can enhance and/or improve subsequentimage recognition as described herein.

During a subsequent checkout process, a different customer takes part inthe checkout process at the POS system 100 (or a different POS system100 within the retail environment). The customer may be purchasing acarton of eggs and a package of paper towels. Scanning themachine-readable identifier of the carton of eggs using the opticalreader 108 or 122 actuates one or more of the image capture device 128a-h to capture one or more images of the carton of eggs. A processor ofthe POS controller 105 can query the image database to determine ifsufficient images of the carton of eggs captured different orientationsfrom different perspectives have been stored. In particular, the POScontroller 105 can determine whether the captured images are repetitiveor duplicates of images captured during previous checkout processes. Ifthe POS system 100 determines that the images provide different orclearer views of the carton of eggs, the subsequent images can be storedin the database and associated with the images and object identificationinformation previously transmitted to the image database based on themachine-readable identifier associated with the carton of eggs. Sincethe package of paper towels has not been previously entered into theimage database, scanning the package of paper towels can cause one ormore of the image capture device 128 a-h to capture images of the papertowels and can cause the POS controller 105 to populate the databasewith the captured images of the paper towels. The images can beassociated with the machine-readable identifier corresponding to thepackage of paper towels and object identification information for thepackage of paper towels can also be associated with the images and/orthe machine-readable identifier. Thus, the database can be created inreal-time and over a period of time based on the checkout processesoccurring at one or more POS systems 100.

The database generated by the POS system 100 can assist in identifyingobjects during subsequent checkout processes when the machine-readableidentifier associated with the object is unavailable or incapable ofbeing scanned. In particular, after the image database has beengenerated, a subsequent object can be brought by a customer to the POSsystem 100 for checkout. The subsequent object may have amachine-readable identifier that is unavailable or incapable of beingscanned. For example, the machine-readable identifier may be damaged orhas fallen off the object.

Rather than sending an associate to locate another one of the objectshaving the machine-readable identifier and/or determining the costassociated with the object, the POS system 100 can be implemented toprocess the subsequent object with a readable machine-readableidentifier using image recognition based on the images stored in thedatabase to determine the cost of the subsequent object for use by thePOS system 100 in a time efficient manner. In particular, the imagecapture device 128 (or the image capture device of the portable opticalreader 122) can be used to capture an image of the subsequent object.The processor of the POS system 100 can programmatically execute animage recognition function that receives as input the image of thesubsequent object and compares the image of the subsequent object toother images stored in the image database to identify similar images.The similar images can include at least one image of the originalobject.

If an exact match between the subsequent and original images is made,the image recognition function can output object identificationinformation for the image of the subsequent object based on themachine-readable identifier associated with the image of the originalobject in the image database. Thus, the cost associated with the objectcan be displayed on the GUI 120. The checkout process can then continuefor any other objects being purchased by the customer.

If an exact match is not made, the POS system 100 can generateinstructions to the user for inputting another image of the object at adifferent orientation or can provide images most closely matching thesubsequent image to allow the user to choose the correct object. Forembodiments in which another image capture of the object is requested,if an exact match still cannot be made, the POS system 100 can outputmore potential matches via the GUI 120 that have been narrowed downbased on the image recognition function. For example, the potentialmatches can be displayed on the GUI 120 as a grid of images of theoriginal objects that most closely match the subsequent image. In someembodiments, the user can narrow down the results of potential matchesby inputting keywords (e.g., item type, manufacturer name, or the like)into a search engine associated with the results. The cashier or usercan select through the GUI 120 the correct object that corresponds tothe subsequent object and the cost associated with the object can bedisplayed on the GUI 120. The checkout process can then continue for anyother objects being purchased by the customer.

If no appropriate matches are found through the described process, anassociate can locate the same object in the retail establishment. Themachine-readable identifier associated with the replacement object canbe scanned, and an image of the object can be captured for future imagerecognition.

As an example, during a subsequent checkout process, a second customeris purchasing a carton of eggs. The machine-readable identifierassociated with the carton of eggs may be damaged and, therefore,unavailable for scanning with the optical reader 108. Implementing theobject identification system, the image capture device 128 can be usedto capture an image of the carton of eggs. The processor of the POSsystem 100 can execute the image recognition function to compare theimage of the carton of eggs captured during the subsequent checkoutprocess to the images stored in the image database.

If a match is made between the subsequent image and the original imageof the carton of eggs, the image recognition function can output objectidentification information associated with the carton of eggs. The costof the carton of eggs can thereby be obtained in a timely manner. If amatch is not made between the subsequent image and the original image,the image recognition function can output two or more potential matchesfor selection by the user. For example, the POS system 100 can displaydifferent brands of eggs that may match the carton of eggs beingpurchased by the second customer. The image corresponding to the correctcarton of eggs can be selected by the user to obtain the objectidentification information associated with the carton of eggs.

As another non-limiting example, the POS system 100 can use the opticalreader and the image capture device to facilitate fraud detection. Forexample, when a machine-readable identifier associated with an object isread by an optical reader, the image capture device can be actuated toautomatically capture an image of the object. The image can be comparedto images stored in the database and the system 100 can return anidentity of the object. The identity of the object as determined usingimage recognition can be compared to the identity of the object asdetermined based on the reading of the machine-readable identifier. Ifthe identities returned are different, it can be determined by thesystem 100 that there is potential that the machine-readable identifierassociated with the object has been altered or replaced by anothermachine-readable identifier associated with a different object.

FIGS. 2 and 3 are block diagrams of a point-of-sale system 200(hereinafter “POS system 200”) in accordance with embodiments of thepresent disclosure. The POS system 200 can be substantially similar instructure and function to the POS system 100, except for thedistinctions noted herein. Therefore, like reference numbers are usedfor like structures. Although the POS system 200 is shown as includingonly some of the components of the POS system 100, it should beunderstood that each of the POS systems 100, 200 discussed herein caninclude the components described herein.

The POS system 200 can include one or more image capture devicesdisposed around the optical reader 108 to capture images of the objectbeing scanned. In some embodiments, the POS system 200 can include animage capture device 128 c mounted to the network and electricity pole126 at a point above the optical reader 108. The image capture device128 c can thereby obtain a top (or top perspective) view of the objectbeing scanned. In some embodiments, the image capture device 128 c canbe mounted to a pole or structure separate from the network andelectricity pole 126.

In some embodiments, the POS system 200 can include a reader assembly orhousing 205 that includes a vertical component 204 and a horizontalcomponent 206. The vertical component 204, the horizontal component 206,or both, can include the optical reader 108 incorporated herein. Thevertical and horizontal components 204, 206 allow scanning ofmachine-readable identifiers associated with objects withoutnecessitating multiple rotations of the object to obtain a successfulscan. In some embodiments, the vertical component 204 and/or thehorizontal component 206 can include a mirror that scatters light outputby the optical reader 108 to allow the reader 108 to reader barcodes atdifferent orientations with respect to the optical reader 108. In someembodiments, the vertical component 204 of the optical reader 108 caninclude one or more image capture devices 128 d-e associated therewithto capture images of different orientations of the object. For example,the one or more image capture devices 128 d-e can share the housing 205associated with the vertical component 204. In some embodiments, thehorizontal component 206 of the optical reader 108 can include one ormore image capture devices 128 f associated therewith to capture imagesof different orientations of the object. In some embodiments, the POSsystem 200 can include one or more image capture devices 128 c mountedto structures around the POS system 200. For example, FIG. 3 shows animage capture device 128 g mounted to a portion of the ceiling 216 abovethe POS system 200.

Thus, images showing different angles or orientations of the objects canbe obtained. In some embodiments, upon scanning the machine-readableidentifier of the object, each of the image capture devices associatedwith the POS system 200 can be actuated to capture an image of theobject. In some embodiments, upon scanning the machine-readableidentifier of the object, only specific image capture devices associatedwith the POS system 200 can be actuated to capture an image of theobject.

FIG. 4 is a block diagram of an image database 300 associated with thePOS systems 100, 200. The image database 300 can be used to store imagesand object identification information associated with the images for aplurality of objects. For example, the image database 300 includes datarelating to a first object 302 (e.g., a carton of eggs) and a secondobject 304 (e.g., a box of pens). Each object 302, 304 includes one ormore images 306, 308 and object identification data. As images arecaptured of the objects, the image database 300 can be updated andpopulated in real-time to ensure a sufficient number of images of theobjects are stored for image recognition purposes. In some embodiments,the object identification data can include, e.g., an object name 310,312, description 314, 316, cost 318, 320, brand 322, 324, weight 326,328, combinations thereof, or the like.

FIG. 5 is a block diagram of an image recognition engine 400 forprogrammatically executing the image recognition function discussedabove. The image recognition engine 400 can receive as input originalimages 402 (e.g., images 306, 308) stored in the image database 300, andone or more subsequent images 404 captured of an object that has amachine-readable identifier that is unavailable or incapable of beingscanned. The image recognition engine 400 can be in communication withthe image database 300, allowing for transmission and/or receipt of databetween the image recognition engine 400 and the image database 300. Forexample, the image recognition engine 400 can query the image database300 to receive one or more images of objects for performing the imagerecognition function. The image recognition engine 400 compares theoriginal images 402 to the subsequent images 404 and, when a match isdetermined based on image recognition, outputs object identificationinformation 406 relating to the subsequent image 404 based on themachine-readable identifier associated with the image of the originalobject. For example, based on the image recognition function, the imagerecognition engine 400 can output one or more machine-readableidentifiers, matching images, or both, for potential matches to thesubsequent image 404.

FIG. 6 is a block diagram of a computing device 500 configured toimplement embodiments of the object identification system in accordancewith embodiments of the present disclosure. The computing device 500 canbe a POS controller of the POS systems 100, 200, can be a separatecomputing device from the POS systems 100, 200 (e.g., a remote servercommunicatively coupled to the POS controller), combinations thereof, orthe like. The computing device 500 includes one or more non-transitorycomputer-readable media for storing one or more computer-executableinstructions or software for implementing exemplary embodiments. Thenon-transitory computer-readable media may include, but are not limitedto, one or more types of hardware memory, non-transitory tangible media(for example, one or more magnetic storage disks, one or more opticaldisks, one or more flash drives), and the like. For example, memory 506included in the computing device 500 may store computer-readable andcomputer-executable instructions or software for implementing exemplaryembodiments of the present disclosure (e.g., the optical reader 108, theportable optical reader 122, the image capture devices 128 a-h, theimage recognition engine 300, combinations thereof, or the like). Thecomputing device 500 also includes configurable and/or programmableprocessor 502 (including a central processing unit (CPU)) and associatedcore 504, and optionally, one or more additional configurable and/orprogrammable processor(s) 502′ and associated core(s) 504′ (for example,in the case of computer systems having multiple processors/cores), forexecuting computer-readable and computer-executable instructions orsoftware stored in the memory 506 and other programs for controllingsystem hardware. Processor 502 and processor(s) 502′ may each be asingle core processor or multiple core (504 and 504′) processor.

Virtualization may be employed in the computing device 500 so thatinfrastructure and resources in the computing device may be shareddynamically. A virtual machine 514 may be provided to handle a processrunning on multiple processors so that the process appears to be usingonly one computing resource rather than multiple computing resources.Multiple virtual machines may also be used with one processor.

Memory 506 may include a computer system memory or random access memory,such as DRAM, SRAM, EDO RAM, and the like. Memory 506 may include othertypes of memory as well, or combinations thereof.

A user may interact with the computing device 500 through a visualdisplay device 518, such as a computer monitor, which may display one ormore user interfaces 520 that may be provided in accordance withexemplary embodiments (e.g., the user interface associated with the GUI120). The computing device 500 may include other I/O devices forreceiving input from a user, for example, a keyboard, an image capturedevice 128, or any suitable multi-point touch interface 508, a pointingdevice 510 (e.g., a mouse), or the like. The keyboard 508 and thepointing device 510 may be coupled to the visual display device 518. Thecomputing device 500 may include other suitable conventional I/Operipherals.

The computing device 500 may also include one or more storage devices524, such as a hard-drive, CD-ROM, or other computer readable media, forstoring data and computer-readable instructions and/or software thatimplement exemplary embodiments of the object identification system 528described herein. In some embodiments, the storage device 524 can storean instance of the image recognition engine 532. Exemplary storagedevice 524 may also store one or more databases 526 for storing anysuitable information required to implement exemplary embodiments. Forexample, exemplary storage device 524 can store one or more databases526 for storing information, such as data stored within the database300, and computer-readable instructions and/or software that implementexemplary embodiments described herein. The databases 526 may be updatedby manually or automatically at any suitable time to add, delete, and/orupdate one or more items in the databases 526.

The computing device 500 can include a network interface 512 configuredto interface via one or more network devices 522 with one or morenetworks, for example, Local Area Network (LAN), Wide Area Network (WAN)or the Internet through a variety of connections including, but notlimited to, standard telephone lines, LAN or WAN links (for example,802.11, T1, T3, 56 kb, X.25), broadband connections (for example, ISDN,Frame Relay, ATM), wireless connections, controller area network (CAN),or some combination of any or all of the above. The network interface512 may include a built-in network adapter, network interface card,PCMCIA network card, card bus network adapter, wireless network adapter,USB network adapter, modem or any other device suitable for interfacingthe computing device 500 to any type of network capable of communicationand performing the operations described herein. The computing device 500can also include one or more antennas 530 for wirelessly interfacing thecomputing device 500 to any type of wireless network communicationprotocol and performing the operations described herein. Moreover, thecomputing device 500 may be any computer system, such as a workstation,desktop computer, server, laptop, handheld computer, tablet computer(e.g., the iPad™ tablet computer), mobile computing or communicationdevice (e.g., the iPhone™ communication device), or other form ofcomputing or telecommunications device that is capable of communicationand that has sufficient processor power and memory capacity to performthe operations described herein.

The computing device 500 may run any operating system 516, such as anyof the versions of the Microsoft® Windows® operating systems, thedifferent releases of the Unix and Linux operating systems, any versionof the MacOS® for Macintosh computers, any embedded operating system,any real-time operating system, any open source operating system, anyproprietary operating system, or any other operating system capable ofrunning on the computing device and performing the operations describedherein. In exemplary embodiments, the operating system 516 may be run innative mode or emulated mode. In an exemplary embodiment, the operatingsystem 516 may be run on one or more cloud machine instances.

FIG. 7 is a block diagram of a distributed environment 600 forimplementing embodiments of the object identification system inaccordance with embodiments of the present disclosure. The environment600 can include servers 601-603 operatively coupled to one or more POSsystems 604-606 including POS controllers 610-612, respectively, anddatabases 607-609, via a communication network 650, which can be anynetwork over which information can be transmitted between the servers601-603, POS controllers 610-612, and databases 607-609. For example,the communication network 650 can be the Internet, Intranet, virtualprivate network (VPN), wide area network (WAN), local area network(LAN), and the like. In exemplary embodiments, the servers 601-603, userinterfaces 604-606, and database devices 606-609 can be implemented ascomputing devices (e.g., embodiments of computing device 500). Thoseskilled in the art will recognize that the databases 606-609 can beincorporated into one or more of the servers 601-603 such that one ormore of the servers 601-603 can include the databases 606-609.

In some embodiments, the databases 606-609 can store informationrelating to the image database 300. In some embodiments, informationrelating to the image database 300 can be distributed over one or moreof the databases 606-609.

In some embodiments, embodiments of the server 601 can be configured toimplement the one or more portions of an object identification engine613 associated with the object identification system 528. In someembodiments, the one or more of the image recognition engines 400 can beimplemented in a distributed configuration over the servers 601-603. Forexample, the servers 602, 603 can implement the image recognitionengines 400, and the server 601 can implement one or more portions ofthe object identification engine 613. In some embodiments, the servers601-603 can separately or integrally implement one or more portions ofthe object identification engine 613 and the image recognition engines400. In some embodiments, the user interfaces 604-606 include agraphical user interface for presenting information to the user.

FIG. 8 is a flowchart illustrating an exemplary object identificationprocess 700 as implemented by the POS systems 100, 200 in accordancewith embodiments of the present disclosure. To begin, at step 702, amachine-readable identifier associated with an original object can bescanned with an optical reader. At step 704, an image of the originalobject at a first orientation can be captured by an image capturedevice. In particular, scanning of the machine-readable identifierassociated with the original object can activate the image capturedevice to substantially simultaneously capture an image of the originalobject or can activate the image capture device after and/or in responseto reading of the machine-readable identifier. At step 706, themachine-readable identifier and the image of the original object can betransmitted by the POS controller to an image database to store theoriginal image and to generate and store an association between theimage of the original object and the machine-readable identifier.

At step 708, during a subsequent transaction, a subsequent object havinga subsequent machine-readable identifier that is unavailable orincapable of being read by an optical reader can be received. At step710, an image of the subsequent object can be captured with the imagecapture device. At step 712, an image recognition engine can beprogrammatically executed to identify the subsequent object. Inparticular, at step 712, the image recognition function can be executedto compare the image of the subsequent object to other images in theimage database to identify similar images. As one example, the POScontroller can execute the image recognition engine, which can searchthe image database for like/similar images in the image database. Asanother example, the POS controller can transmit the image to a remoteserver, and the remote server can execute the image recognition engineto search for like/similar images in the image database. The similarimages can include at least the image of the original object.

At step 714, object identification information for the image of thesubsequent object can be output based on the machine-readable identifierassociated with the image of the original object (e.g., based on anassociation between the machine-readable identifier and the image of theoriginal object). The object identification information can identify thesubsequent object relative to the other images in the image database.The exemplary object identification system thereby provides means forthe POS system to identify an object without relying on themachine-readable identifier associated with the object (e.g., when themachine-readable identifier is unreadable or unavailable) to provide aback-up system to reading of machine-readable identifiers. Using thisapproach, the POS system can obtain cost and additional informationassociated with an object in a time efficient manner at the POS system.

FIG. 9 is a flowchart illustrating an exemplary object identificationprocess 800 as implemented by the POS systems 100, 200 in accordancewith embodiments of the present disclosure. To begin, at step 802, whenan object is brought to a POS system for checkout, a determination canbe made whether the object has a machine-readable identifier that can bescanned or read by the optical reader. If the machine-readableidentifier can be scanned or read by the optical reader, at step 804,the machine-readable identifier can be scanned or read. At step 806,scanning the machine-readable identifier can actuate or send signals tocapture an image of the object with one or more image capture devices.

At step 808, the POS controller and/or alternative components of the POSsystem can determine whether the captured image is a duplicate,repetitive or shows orientations of the object that were previouslycaptured and stored in the image database. If the captured image isfound to be a duplicate, at step 810, the image can be deleted. If thecaptured image is found to be different from previously captured images(or no previously captured images have been captured of the object), atstep 812, the image can be stored in the image database. At step 814, anassociated between the object, the image of the object, themachine-readable identifier, object identification information,combinations thereof, or the like, can be created.

If the machine-readable identifier cannot be scanned or is unavailableat step 802, an image of the object being purchased can be captured withone or more image capture devices at step 816. At step 818, the POSsystem and/or the POS controller can execute an image recognitionfunction based on the input captured image and images stored in theimage database. At step 820, a determination can be made whether anexact match between the captured image of the object and images storedin the image database has been made. If an exact match has been made, atstep 822, the POS system can output on a GUI of the POS the objectidentification information and cost associated with the object.

If an exact match between the captured image of the object and imagesstored in the image database cannot be made at step 820, one or more ofthe closest matches can be output on the GUI of the POS for selection bya user at step 824. Optionally, at step 826, a user can narrow down theresults of the closest matches on the GUI of the POS by inputtingkeywords. At step 828, if an exact match of the object is located, theuser can select the matching object. At step 822, the POS system canoutput on the GUI of the POS the object identification information andcost associated with the object.

Optionally, if an exact match between the captured image of the objectand images stored in the image database cannot be made at step 820, thePOS system can request the user to capture a second image of the objectwith the image capture device at step 830. At step 832, the POS systemand/or the POS controller can execute the image recognition functionbased on the input second captured image and images stored in the imagedatabase. At step 834, a determination can be made whether an exactmatch between the second captured image of the object and images storedin the image database has been made. If an exact match has been made, atstep 822, the POS system can output on the GUI of the POS the objectidentification information and cost associated with the object. If anexact match has not been made, the POS system can output one or more ofthe closest matches on the GUI of the POS for selection by a user atstep 824. The user can thereby narrow down the closest matches andselect the matching object.

If no appropriate matches are found through the described process, anassociate can locate the same object in the retail establishment. Themachine-readable identifier associated with the replacement object canbe scanned (at step 804), and an image of the object can be captured forfuture image recognition (at step 806).

While exemplary embodiments have been described herein, it is expresslynoted that these embodiments should not be construed as limiting, butrather that additions and modifications to what is expressly describedherein also are included within the scope of the invention. Moreover, itis to be understood that the features of the various embodimentsdescribed herein are not mutually exclusive and can exist in variouscombinations and permutations, even if such combinations or permutationsare not made express herein, without departing from the spirit and scopeof the invention.

1. A method of identifying objects using image recognition, comprising:scanning, by an optical reader, a machine-readable identifier associatedwith an original object; capturing an image of the original object at afirst orientation using an image capture device; transmitting themachine-readable identifier and the image of the original object to animage database to store an association between the image of the originalobject and the machine-readable identifier; receiving a subsequentobject having a subsequent machine-readable identifier that isunavailable or incapable of being scanned; capturing an image of thesubsequent object with the image capture device; and identifying thesubsequent object in response to execution of an image recognitionfunction that receives as input the image of the subsequent object,compares the image of the subsequent object to other images in the imagedatabase to identify similar images, the similar images including atleast the image of the original object, and that outputs objectidentification information for the image of the subsequent object basedon the machine-readable identifier associated with the image of theoriginal object, the object identification information identifying thesubsequent object relative to the other images in the image database. 2.The method of claim 1, wherein the optical reader is at least one of abarcode scanner or a radio-frequency identification scanner.
 3. Themethod of claim 1, wherein the machine-readable identifier of theoriginal object is at least one of a barcode or a radio-frequencyidentification.
 4. The method of claim 1, wherein the image capturedevice comprises one or more cameras.
 5. The method of claim 1,comprising transmitting the image of the original object to a server,and further comprising transmitting the image of the original objectfrom the server to the image database.
 6. The method of claim 1, whereinscanning the machine-readable identifier associated with the originalobject with the optical reader actuates the image capture device toautomatically capture the image of the original object.
 7. The method ofclaim 1, comprising associating the object information data of theoriginal object obtained from scanning the machine-readable identifierassociated with the original object with the image of the originalobject in the image database.
 8. The method of claim 7, wherein theobject identification information comprises at least one of an objectname, an object description, or an object cost.
 9. The method of claim1, comprising displaying the object identification information at agraphical user interface.
 10. The method of claim 1, comprisingcapturing a second image of the original object at a second orientationusing the image capture device.
 11. The method of claim 10, transmittingthe second image of the original object to the image database to storean association between the image of the original object, the secondimage of the original object and the machine-readable identifier.
 12. Asystem for synchronized imaging of objects and machine-readableidentifiers associated with the objects, the system comprising: anoptical reader, the optical reader being configured to read amachine-readable identifier associated with an object; an image capturedevice, the image capture device being configured to capture an image ofthe object; a processing device operatively coupled to the opticalreader and the image capture device, wherein the processing devicecontrols the optical reader and the image capture device to synchronizereading of the machine-readable identifier by the optical reader andcapturing of the image of the object by the image capture device toautomatically capture the image of the object.
 13. The system of claim12, comprising an image database configured to store the image of theobject.
 14. The system of claim 13, wherein the image database isconfigured to store an association between the image of the object andthe machine-readable identifier associated with the object.
 15. Thesystem of claim 12, wherein the image capture device is configured tocapture an image of a subsequent object, the subsequent object having asubsequent machine-readable identifier that is unavailable or incapableof being scanned.
 16. The system of claim 15, wherein the processingdevice is configured to execute an image recognition function thatreceives as input the image of the subsequent object, compare the imageof the subsequent object to other images in an image database toidentify similar images, the similar images including at least the imageof the object, and outputs object identification information for theimage of the subsequent object based on the machine-readable identifierassociated with the image of the object, the object identificationinformation identifying the subsequent object relative to the otherimages in the image database.
 17. The system of claim 16, comprising agraphical user interface configured to display the object identificationinformation for the image of the subsequent object.
 18. A system forsynchronized imaging of objects and machine-readable identifiersassociated with the objects, the system comprising: an optical reader,the optical reader being configured to read a machine-readableidentifier associated with an original object; an image capture device,the image capture device being configured to (i) capture an image of theoriginal object, and (ii) capture an image of a subsequent object, thesubsequent object having a subsequent machine-readable identifier thatis unavailable or incapable of being read; an image database configuredto store an association between the image of the original object and themachine-readable identifier associated with the original object; aprocessing device operatively coupled to the optical reader, the imagecapture device and the image database, wherein the processing device isconfigured to execute an image recognition function that receives asinput the image of the subsequent object, compares the image of thesubsequent object to other images in the image database to identifysimilar images, the similar images including at least the image of theoriginal object, and that outputs object identification information forthe subsequent image based on the machine-readable identifier associatedwith the image of the original object, the object identificationinformation identifying the subsequent object relative to the otherimages in the image database.
 19. The system of claim 18, wherein theoptical reader comprises a handheld or portable optical reader.
 20. Thesystem of claim 19, wherein the image capture device is incorporatedinto the handheld or portable optical reader.